//纪中7221.[并查集] Portals 传送门组成的网络
// https://blog.csdn.net/kejin2019/article/details/119841595
// 解题思路
//题意还是比较容易读懂的，主要就是关于题意转换比较难想，让我们看一下具体操作，究竟发生了些什么。
//如以下问题所述：存在两个节点 p i pipi ， 每个节点有 v 1 , v 2 , v 3 , v 4 v_1,
// v_2, v_3, v_4v 1 ,v 2 ,v 3 ,v
// 4
//四个传送门， 两个节点的关系如下图。
//每个点出现两次表示每个点的度数为 2，而联通的图如果每个点的度数为
// 2，则一定是一个环。 如果图不连通，则是若干个环。
//现在我们要使得图联通，也就是合并这些环，我们发现花费 w_i的代价可以将 a_i,c_i
//所在环连起来。

#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iomanip>
#include <iostream>
#include <map>
#include <queue>
#include <set>
#define ll long long
#define ldb long double
using namespace std;
int n, x, y, ans, fa[400010];
struct c {
  int x, y, a, b, w;
} a[400010];
bool cmp(c l, c r) { return l.w < r.w; }
int find(int x) {
  if (fa[x] == x) return fa[x];
  return fa[x] = find(fa[x]);
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= 2 * n; i++) fa[i] = i;
  for (int i = 1; i <= n; i++) {
    scanf("%d%d%d%d%d", &a[i].w, &a[i].a, &a[i].b, &a[i].x, &a[i].y);
    x = find(a[i].x), y = find(a[i].y);
    fa[x] = y;
    x = find(a[i].a), y = find(a[i].b);
    fa[x] = y;
  }
  sort(a + 1, a + n + 1, cmp);
  for (int i = 1; i <= n; i++) {
    x = find(a[i].b), y = find(a[i].x);
    if (x != y) {
      ans += a[i].w;
      fa[x] = y;
    }
  }
  printf("%d", ans);
}